package com.service;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.GongyipinxinxiEntity;
import java.util.List;
import java.util.Map;
import com.entity.vo.GongyipinxinxiVO;
import org.apache.ibatis.annotations.Param;
import com.entity.view.GongyipinxinxiView;


/**
 * 工艺品信息服务接口
 *
 * 该接口定义了与工艺品信息相关的业务方法，包括分页查询、工艺品数据查询等。
 * 通过实现该接口，可以进行对工艺品信息数据的增删改查操作。
 *
 * @author team10
 */
public interface GongyipinxinxiService extends IService<GongyipinxinxiEntity> {

	/**
	 * 分页查询工艺品信息数据
	 *
	 * @param params 查询参数，包括分页信息
	 * @return 返回分页结果，包括查询到的工艺品信息数据
	 */
	PageUtils queryPage(Map<String, Object> params);

	/**
	 * 根据 Wrapper 查询工艺品信息列表
	 *
	 * @param wrapper 条件构造器，用于构造查询条件
	 * @return 返回查询到的工艺品信息数据列表
	 */
	List<GongyipinxinxiVO> selectListVO(Wrapper<GongyipinxinxiEntity> wrapper);

	/**
	 * 根据 Wrapper 查询单个工艺品信息数据
	 *
	 * @param wrapper 条件构造器，用于构造查询条件
	 * @return 返回查询到的单条工艺品信息数据
	 */
	GongyipinxinxiVO selectVO(@Param("ew") Wrapper<GongyipinxinxiEntity> wrapper);

	/**
	 * 根据 Wrapper 查询工艺品信息视图列表
	 *
	 * @param wrapper 条件构造器，用于构造查询条件
	 * @return 返回查询到的工艺品信息视图列表
	 */
	List<GongyipinxinxiView> selectListView(Wrapper<GongyipinxinxiEntity> wrapper);

	/**
	 * 根据 Wrapper 查询单个工艺品信息视图
	 *
	 * @param wrapper 条件构造器，用于构造查询条件
	 * @return 返回查询到的单条工艺品信息视图
	 */
	GongyipinxinxiView selectView(@Param("ew") Wrapper<GongyipinxinxiEntity> wrapper);

	/**
	 * 分页查询工艺品信息数据，支持自定义条件
	 *
	 * @param params 查询参数，包括分页信息
	 * @param wrapper 条件构造器，用于构造查询条件
	 * @return 返回分页结果，包括查询到的工艺品信息数据
	 */
	PageUtils queryPage(Map<String, Object> params, Wrapper<GongyipinxinxiEntity> wrapper);

}
